package br.com.salaodebeleza.persistence;

import java.util.List;

import javax.inject.Inject;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

import org.slf4j.Logger;

import br.com.salaodebeleza.domain.TbUsuario;
import br.gov.frameworkdemoiselle.stereotype.PersistenceController;
import br.gov.frameworkdemoiselle.template.JPACrud;

@PersistenceController
public class TbUsuarioDAO extends JPACrud<TbUsuario, Long> {

	private static final long serialVersionUID = 1L;
	
	@Inject
	@SuppressWarnings("unused")
	private Logger logger;

	public TbUsuario getById(String cdi) {
		CriteriaQuery<TbUsuario> criteriaQuery = createCriteriaQuery();
		Root<TbUsuario> from = criteriaQuery.from(TbUsuario.class);
		criteriaQuery.where(getCriteriaBuilder().equal(from.get("cdi"), Integer.parseInt(cdi)));
		return super.findByCriteriaQuery(criteriaQuery).get(0);
	}
	
	public TbUsuario getByCDI(String cdi){
		String jpql = "select a from TbUsuario a where a.cdi = "+ cdi ;
		List<TbUsuario> usuarios = findByJPQL(jpql);
		return usuarios.isEmpty() ? null : usuarios.get(0);
	}

}
